package chapter5.additional;

class Person {
    String name;

    Person(String name) {
        this.name = name;
    }
}

public class PassByValueReferenceDemo {
    public static void modifyReference(Person p) {
        p.name = "李四"; // 修改对象属性（通过引用副本）
        p = new Person("王五"); // 让 p 指向新对象
        System.out.println("方法内新对象的name: " + p.name); // 输出 "王五"
    }

    public static void main(String[] args) {
        Person person = new Person("张三");
        System.out.println("调用方法前的name: " + person.name); // 输出 "张三"
        modifyReference(person);
        System.out.println("调用方法后的name: " + person.name); // 输出 "李四"（而非"王五"）
    }
}